$(document).ready(function(){
   var plantilla = document.getElementById('proyecto_mainbundle_elementotype_plantilla').value;
  if (plantilla > 0){
      activarTipos();
      habilitar('proyecto_mainbundle_elementotype_tipo');
  }
});


function habilitar(id){
	document.getElementById("submit").disabled=true;
	var tipo=document.getElementById(id).value;
	switch (tipo){
		case "item":
		  listarCategorias();
		  break;
		case "label":
                   var urlLabel = document.getElementById('labelUrl').href;
		   $("#target").load(urlLabel);
		   document.getElementById("submit").disabled=false;
		   break;
		case "separador":
		 listarSeparadores();
		  break;
		default:
			 $("#target").html("");
	}
	
}

function activarTipos(){
	var plantilla=document.getElementById("proyecto_mainbundle_elementotype_plantilla");
	document.getElementById("submit").disabled=true;
	if (plantilla.value > 0){
            document.getElementById("proyecto_mainbundle_elementotype_tipo").disabled=false;
            habilitar('proyecto_mainbundle_elementotype_tipo');
            //habilitarEnvio('proyecto_mainbundle_elementotype_tipo');
            
        }
        else{
            document.getElementById("proyecto_mainbundle_elementotype_tipo").disabled=true;
            $("#target").html("");
        }
}

function listarCategorias(){
    var url = Routing.generate('categorias_json');
    var listaItemsUrl = document.getElementById('listaItemsUrl').href;
    $("#target").load(listaItemsUrl);
    $.ajax({
      url:  url + '?nocache=' + Math.random(),
      type: 'GET',
      datatype: 'json',
      success: function(json_data) {
                            
                                var respuesta = eval("(" + json_data + ")");
				var lista = document.getElementById("categoria");
				lista.options.length = 0;
				lista.options[0] = new Option("Selecciona una categoria",-1);
				if (respuesta.cantidad==0){
						lista.disabled=true;
						alert("No hay categorias");
				}else{
						var i=1;
						for(var categoria in respuesta) {
							lista.options[i] = new Option(respuesta[categoria].descripcion, respuesta[categoria].id_categoria);
							
							i++;
						}
						lista.disabled=false;
						
					}
    }, 
    error: function() { alert('Se ha producido un error'); }
  });
}

function listarSeparadores(){
  var url = Routing.generate('separadores_json');
  var listaSeparadoresUrl = document.getElementById('listaSeparadoresUrl').href;
  $("#target").load(listaSeparadoresUrl);
  $.ajax({
    url:  url + '?nocache=' + Math.random(),
    type: 'POST',
    success: function(json_data) {
				var respuesta = eval("(" + json_data + ")");
				var lista = document.getElementById("proyecto_mainbundle_elementotype_valor");
				lista.options.length = 0;
				lista.options[0] = new Option("Selecciona un separador",-1);
				if (respuesta.cantidad==0){
						lista.disabled=true;
						alert("No hay separadores");
				}else{
					var i=1;
					for(var separador in respuesta) {
						lista.options[i] = new Option(respuesta[separador].codigo, respuesta[separador].id_separador);
						
						i++;
					}
					
					
				}
    }, 
    error: function() { alert('Se ha producido un error'); }
  });

}

function habilitarEnvio(id){
        var tipo = document.getElementById(id);
        if (tipo !== null) {
                    document.getElementById("submit").disabled=document.getElementById(id).value<0;
        }

}

function listarItems(){
    var url = Routing.generate('list_item');
    $.ajax({
      url:  url + '?nocache=' + Math.random(),
      type: 'POST',
      data: { idcategoria: document.getElementById("categoria").value, idplantilla: document.getElementById("proyecto_mainbundle_elementotype_plantilla").value },
      success: function(json_data) {
					var respuesta = eval("(" + json_data + ")");
					var lista = document.getElementById("proyecto_mainbundle_elementotype_valor");
					lista.options.length = 0;
					lista.options[0] = new Option("Selecciona un item",-1);
					if (respuesta.cantidad==0){
						lista.disabled=true;
						alert("No hay items para la categoria seleccionada");
					}else{
						var i=1;
						for(var item in respuesta) {
							lista.options[i] = new Option(respuesta[item].descripcion, respuesta[item].id_item);
							
							i++;
						}
						lista.disabled=false;
					}
      
    }, 
    error: function() { alert('Se ha producido un error'); }
  });
}

